psr.i must be set to 0 on PAL entry and must be unchanged on PAL exit.
But do_block() turns on psr.i.
So we need to set it off at exit of PAL_HALT_LIGHT.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
/* do_block only pends a softirq */
do_softirq();
stop_timer(&v->arch.hlt_timer);
+ /* do_block() calls
+ * local_event_delivery_enable(),
+ * but PALL CALL must be called with
+ * psr.i = 0 and psr.i is unchanged.
+ * SDM vol.2 Part I 11.10.2
+ * PAL Calling Conventions.
+ */
+ local_event_delivery_disable();
}
regs->r8 = 0;
regs->r9 = 0;